package com.xerland.tbootstrap.injection.components;

import android.app.Application;
import android.content.Context;

import com.xerland.tbootstrap.core.mqtt.MqttHelper;
import com.xerland.tbootstrap.core.rest.RestModule;
import com.xerland.tbootstrap.core.services.LoadEmojisService;
import com.xerland.tbootstrap.injection.ApplicationContext;
import com.xerland.tbootstrap.injection.modules.ActivityModule;
import com.xerland.tbootstrap.injection.modules.ApplicationModule;

import javax.inject.Singleton;

import dagger.Component;

@Singleton
@Component(modules = {ApplicationModule.class, RestModule.class})
public interface ApplicationComponent {

    @ApplicationContext
    Context context();

    Application application();

    ActivityComponent addActivityComponent(ActivityModule activityModule);

//    DbHelper providesDbHelper();
//
//    DataManager providesDataManager();

    void inject(LoadEmojisService loadEmojisService);

    void inject(MqttHelper mqttHelper);

}